public class BoxTester {
	public static void main(String[] args) {
		
		// Creates a box with provided coordinates/measurements and prints its properties.
		Box box1 = new Box(1,1,1,2,3,4);
		System.out.println("Box 1");
		System.out.print("X = ");
		System.out.println(box1.getX());
		System.out.print("Y = ");
		System.out.println(box1.getY());
		System.out.print("Z = ");
		System.out.println(box1.getZ());
		System.out.print("Height = ");
		System.out.println(box1.getHeight());
		System.out.print("Width = ");
		System.out.println(box1.getWidth());
		System.out.print("Depth = ");
		System.out.println(box1.getDepth());
		System.out.print("Volume = ");
		System.out.println(box1.calculateVolume());
		System.out.print("Surface Area = ");
		System.out.println(box1.calculateSurfaceArea());
		
		System.out.println("");
		
		// Creates another box with no provided coordinates/measurements and prints its properties.
		Box box2 = new Box();
		System.out.println("Box 2");
		System.out.print("X = ");
		System.out.println(box2.getX());
		System.out.print("Y = ");
		System.out.println(box2.getY());
		System.out.print("Z = ");
		System.out.println(box2.getZ());
		System.out.print("Height = ");
		System.out.println(box2.getHeight());
		System.out.print("Width = ");
		System.out.println(box2.getWidth());
		System.out.print("Depth = ");
		System.out.println(box2.getDepth());
		System.out.print("Volume = ");
		System.out.println(box2.calculateVolume());
		System.out.print("Surface Area = ");
		System.out.println(box2.calculateSurfaceArea());
		
		
		
		// Questions from lab worksheet:
		
		//System.out.println(box1.x);
		// This can access the now public X attribute of the box object
		
		//System.out.println(box1.x);
		// This can access the now 'nothing specified' X attribute of the box object
		// This is not good OO encapsulation as is allows third parties to edit objects private data
		
		//System.out.println(box1.x);
		// This can not access the now private X attribute of the box object
		// It results in a compiler error of 'The field Box.x is not visible'
		
		//System.out.println(box1.calculateVolume());
		// This can not access the now private calculateVolume method of the box object
		// It results in a compiler error of 'The method calculateVolume() from the type Box is not visible'
		
		//System.out.println(box1.toString());
		// This method can be called on the box object
		// It returns value of 'Box@635b9e68' that is not very helpful since we do not know what it means
		
	}
}
